const $ajax = (option) => {
  let xml = new XMLHttpRequest();
  // 校验请求9方法和请求地址
  if (!("method" in option)) {
    return "请求方法不存在";
  }
  if (!("url" in option)) {
    return "请求地址不存在";
  }
  xml.open(option.method, option.url);
  // header 存在时批量添加请求头
  if (option.headers) {
    for (const key in option.headers) {
      xml.setRequestHeader(key, option.headers[key]);
    }
  }

  // 携带token
  let token = localStorage.getItem("token");
  if (token) {
    xml.setRequestHeader("Admin-Token", token);
  }

  xml.send(option.method === "get" ? null : JSON.stringify(option.data));
  xml.onreadystatechange = function () {
    if (xml.readyState === 4 && xml.status === 200) {
      let data = JSON.parse(xml.responseText);
      if (option.success) {
        // 成功回调
        option.success(data);
      }
    }
    if (xml.status !== 200) {
      // 失败回调
      if (option.error) {
        option.error(xml.status);
      }
    }
  };
};
